Давайте еще раз посмотрим на второй рисунок в Шаг 62 – Visual Basic. Report Designer Component. Исследуем форму, созданную мастером. Обратите внимание, что кроме вьювера мастер установил ссылку на элемент Crystal Reports ActiveX Designer Run Time Library. Именно эта библиотека является основным компонентом RDC и содержит сервер автоматизации Runtime Automation Server.
Теперь у нас вырисовывается полная структура RDC:
1. дизайнер ActiveX – надстройка к Visual Basic, позволяющая разрабатывать отчет непосредственно в IDE.
2. сервер Runtime Automation Server – среда, в которой выполняется подавляющее большинство операций с отчетом.
3. элемент ActiveX Crystal Report Smart Viewer – визуальный компонент, непосредственно показывающий отчет.
Полностью объектную модель RDC можно просмотреть в Object Browser (вызвав его например нажатием F2 ) и выбрав библиотеку CRAXDRT (Crystal Reports ActiveX Designer Run Time Library).
Смотрим еще раз на код, созданный мастером (Шаг 62 – Visual Basic. Report Designer Component. Исследуем форму, созданную мастером). В нем пока два основных действия:
- создание объектной переменной со ссылкой на объект отчета;
- передача созданной переменной вьюверу и вывод отчета.
Так вот, в промежутке между этими событиями с помощью RDC можно выполнить множество операций с отчетом. Доступны практически все свойства и методы отчета. Это собственно и является «сердцем» программирования RDC.
Основными объектами, используемые в RDC – Application и Report.
Объект Applications является объектом самого верхнего уровня в иерархии RDC. Если в VB проект добавлен дизайнер отчетов, то вам нет необходимости заботиться об этом объекте, он создается по умолчанию, хотя и его нет в явном виде в коде. Однако если используется внешний rpt файл, объект Application необходимо создавать явным образом.
Объект Report является ключевым объектом RDC. Именно в нем выполняется подавляющее большинство операций с отчетом.